webSocket – 03 socket.io

nodejs
Author

dd21

Published

December 5, 2022

socket.io

为什么使用socket.io 1. 简单 2. 高效:连接池的管理比自己写的要高效(通常)

客户端

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
<script src="node_modules/socket.io/client-dist/socket.io.js"></script>

</head>
<body>
    <div id="msg"></div>
    <input type="text" id="text">
    <input type="submit" value="发送" onclick="send()">
    <script>
      var socket = io.connect('http://127.0.0.1:3000')
      function send() {
        var text = document.getElementById('text').value

          // 随机时间绑定 和服务端的写的一样
        socket.emit('sendMsg',text)
      }
    </script>

</body>
</html>

服务端

const { createServer } = require("http");
const { Server } = require("socket.io");

const httpServer = createServer();
const io = new Server(httpServer, {
  cors: {
    origin: "*",
    methods: ["GET", "POST"]
  }
});

io.on("connection", (socket) => {
   socket.on('sendMsg',(data)=>{
      console.log(data)
   })
});

httpServer.listen(3000,function (){
   console.log('http://127.0.0.1:3000')
});

测试:

在这里插入图片描述